package com.dingwen.treasure.base.exception;

import lombok.Getter;
import lombok.Setter;
import org.springframework.http.HttpStatus;

/**
 * 　BaseRuntimeException： 基础运行时异常（包含异常码以及异常消息）
 * 　@author dingwen
 * 　@date 2022/6/12
 */
@Getter
@Setter
public abstract class AbstractBaseRuntimeException extends RuntimeException {

    private static final long serialVersionUID = 7277630060515118004L;
    /**
     * 错误码
     */
    private Integer code;

    /**
     * 错误消息
     */
    private String message;


    /**
     * 有参构造器子类调用
     *
     * @param message 异常消息
     */
    public AbstractBaseRuntimeException(String message) {
        super(message);
        this.message = message;
        this.code = HttpStatus.INTERNAL_SERVER_ERROR.value();
    }


    /**
     * 有参构造器子类调用
     *
     * @param code    异常码
     * @param message 异常消息
     */
    public AbstractBaseRuntimeException(Integer code, String message) {
        super(message);
        this.code = code;
        this.message = message;
    }

}
